Hitherto, systems of executing communication between plural information processing apparatuses or units to execute data processing in which communication data have been applied are utilized in various fields. Such systems are directed to a system of executing data processing in which communication data have been applied in plural information processing units adapted for executing data communication through, e.g., wired or wireless communication network, cable or bus, etc. to calculate final or ultimate processing result.
As one embodiment thereof, in the case of executing, e.g., communication processing between two information processing units or apparatuses A, B, one information processing unit A executes data processing to transmit processing result to the information processing unit B, and the information processing unit B executes data processing in which received processing result has been applied to perform such a processing to transmit the data thus obtained to the information processing unit A, etc. There are utilized, in various fields, systems of executing not only such communication sequence, but also data processing in which transmit/receive data has been applied while performing transmission/reception of data between plural information processing units.
In such configuration involving data communication and/or data processing, how to cope with the case where data processing error and/or data communication error take place becomes problem. Entities A and B as the information processing units repeat, plural times, executions of internal processing different from each other and data transmission/reception of the results thereof to thereby examine information processing systems for executing specific processing. In these systems, data processing within the entities A and B as the information processing units are executed so that transmission/reception of processed result data is performed. Further, new internal processing is executed on the basis of the transmission/reception data.
In the case where such data processing is performed, it is required that processing sequence is precisely maintained. Namely, the internal states within the respective entities are required to be synchronous with each other. However, in actual systems, there is the possibility that difference may take place between internal states of respective entities, i.e., asynchronization between internal states may take place by communication error at the time of transmission/reception of data and/or internal processing error in the case where the internal processing fails to be correctly performed, etc. In such case; there is required a mechanism to eliminate difference between internal states of respective entities to synchronize those internal states.
In the case where asynchronization of the internal states between apparatuses or units ordinarily takes place by internal processing error, etc., the entity A which has detected error notifies an apparatus of the opposite side in communication of occurrence of internal processing error, and the entity A itself returns to the initial state. Moreover, the entirety B which has received notification of the internal processing error returns to the initial state as it is to thereby have ability to synchronize both internal states in the initial state.
Such state synchronization processing can be applied only in the case where it can be recognized that error has taken place in data processing executed in one entity. Namely, in the case where the entity A has transmitted result data of correct data processing, but communication error takes place at the time of transferring such data, the entity A cannot recognize occurrence of error.
At the entity B, even if it is possible to detect communication error by parity check, etc., it is impossible to judge whether or not communication error has taken place with respect to normal data, whether or not communication error has taken place with respect to the internal processing error, and/or whether corresponding error is communication error or internal processing error so that the entity B returns to the initial state as it is.
As stated above, the entity A shifts to the internal state on the assumption that correct processing is executed, and the entity B returns to the initial state on the other hand. As a result, asynchronization of internal states would take place between entities A and B.
As a simplest technique of solving such problem, there is conceivable a method in which in the case where the entity B detects communication error, reception thereof is notified to the entity A. However, in the case where the entity attempt to continuously transmit data, the entities A and B are brought into the state where they transmit data each other so that there may take place cases where processing cannot be continued. In addition, even in the case where the entity A is data receiving wait state, when data length of error notification data that the entity B intends to transmit and data length of data that the entity A intends to receive are not in correspondence with each other, there may take place the problems where error notification communication data cannot be completely transmitted, and/or data receiving state at the entity A is continued even if data is transmitted, etc.